﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Negocios
{
    public class VendaPacoteBO
    {
        private int id;

        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        private PacoteBO pacote;

        public PacoteBO Pacote
        {
            get { return pacote; }
            set { 
                if(value == null)
                    throw new BOException("O pacote deve ser informado.");
                if((new PacoteBOMetodos()).consultar(value.Id) == null)
                    throw new BOException("Pacote não existente");
                pacote = value; 
            }
        }

        
        private ClienteBO cliente;

        public ClienteBO Cliente
        {
            get { return cliente; }
            set {
                if (value == null)
                    throw new BOException("O cliente deve ser informado.");
                if ((new ClienteBOMetodos()).Consulta(value.Cpf) == null)
                    throw new BOException("Cliente não existente");
                cliente = value; }
        }
        private DateTime data;

        public DateTime Data
        {
            get { return data; }
            set {
                if (value == null)
                    throw new BOException("A data deve ser informado.");
                
                data = value; }
        }
        private String pagamento;

        public String Pagamento
        {
            get { return pagamento; }
            set {
                if (value == null)
                    throw new BOException("A forma de pagamento deve ser informado.");
                
                pagamento = value; }
        }
        private UsuarioBO usuario;

        public UsuarioBO Usuario
        {
            get { return usuario; }
            set {
                if (value == null)
                    throw new BOException("O Usuário deve ser escolhido.");
                if ((new UsuarioBOMetodos()).Consulta(value.Login) == null)
                    throw new BOException("O Usuário não está cadastrado");
                usuario = value; }
        }
    }
}
